| ;;; Start here. Complete working "Smart" drone. ;;;
author Michael McCaffrey
 name S Turn
 Main:
move forward
 if bump barrier then goto Barrier
 goto Main
 
 Barrier:
assign vr 0
 math vs = #cur_head * 2 + 1
 if value ~vs > 7 then math vs = ~vs - 8
 scan position ~vs
 if value #scan <> 0 then math vr = ~vr + 1
 math vs = #cur_head * 2 + 5
if value ~vs > 7 then math vs = ~vs - 8
 scan position ~vs
 if value #scan <> 0 then math vr = ~vr + 2
 if value ~vr = 0 then goto Random_Turn
if value ~vr = 1 then turn left
 if value ~vr = 2 then turn right
 if value ~vr = 3 then move backward
 if value ~vr = 3 then goto Barrier
 goto Main
 Random_Turn:
generate random
 if value #random < 3 then turn right
 if value #random > 2 then turn left
 goto Main
 |